package it.polimi.c4c.entities;

import java.io.Serializable;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @author matteo
 *  
 */
@SuppressWarnings("serial")

@Entity
@Table(name="Voto")
public class Voto implements Serializable {

//	/**
//	 * 
//	 */
//	private int id;
//	
//	/**
//	 * Regalo a cui il voto fa riferimento
//	 */
//	private Regalo regalo;
//	
//	/**
//	 * Utente che esprime la sua preferenza per il regalo
//	 */
//	private Utente utenteVotante;

	private VotoKey key;
	
	/**
	 * @return the key
	 */
	@EmbeddedId
	public VotoKey getKey() {
		return key;
	}

	/**
	 * @param key the key to set
	 */
	public void setKey(VotoKey key) {
		this.key = key;
	}

	/**
	 * Data del voto
	 */
	private Calendar istanteVoto;
	
//	/**
//	 * @return the id
//	 */
//	@Id
//	public int getId() {
//		return id;
//	}
//
//	/**
//	 * @param id the id to set
//	 */
//	public void setId(int id) {
//		this.id = id;
//	}
//
//	/**
//	 * @return the regalo
//	 */
////	@ManyToOne
//	public Regalo getRegalo() {
//		return regalo;
//	}
//	
//	/**
//	 * @param regalo the regalo to set
//	 */
//	public void setRegalo(Regalo regalo) {
//		this.regalo = regalo;
//	}
//	
//	/**
//	 * @return the utenteVotante
//	 */
//	@Column(name = "utenteVotante")
//	public Utente getUtenteVotante() {
//		return utenteVotante;
//	}
//	
//	/**
//	 * @param utenteVotante the utenteVotante to set
//	 */
//	public void setUtenteVotante(Utente utente) {
//		this.utenteVotante = utente;
//	}

	/**
	 * @return the istanteVoto
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(nullable = false)
	public Calendar getIstanteVoto() {
		return istanteVoto;
	}

	/**
	 * @param istanteVoto the istanteVoto to set
	 */
	public void setIstanteVoto(Calendar dataVoto) {
		this.istanteVoto = dataVoto;
	}
	
}
